package com.yupi.soulba.model.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;

/**
 * 队伍和用户信息封装类（脱敏）
 * 
 * @author 过江辉、黄云杰
 */
@Data
public class TeamUserVo implements Serializable {

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    private Long id;

    /**
     * 队伍名称
     */
    private String name;

    /**
     * 队伍描述
     */
    private String description;

    /**
     * 最大人数
     */
    private Integer maxNum;

    /**
     * 过期时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date expireTime;

    /**
     * 队长ID
     */
    private Long userId;

    /**
     * 状态 0 - 公开, 1 - 私有, 2 - 加密
     */
    private Integer status;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 队伍创建人用户信息
     */
    private UserVo createUserVo;

    /**
     * 当前登录用户是否已经加入该队伍（前端判断 "加入队伍" 显隐）
     * 外层手动指定默认值: false
     */
    private Boolean hasJoin;

    /**
     * 已加入用户数
     */
    private Integer hasJoinNum;
}
